<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>模拟与数字时钟设计</title>
    <link rel="stylesheet" href="index.css" />
  </head>
  <body>
    <div class="container">
      <div class="clock">
        <div id="sc" class="circle" style="--clr: #04fc43"><i></i></div>
        <div id="mn" class="circle circle2" style="--clr: #fee800"><i></i></div>
        <div id="hr" class="circle circle3" style="--clr: #ff2972"><i></i></div>

        <span style="--i: 1"><b>1</b></span>
        <span style="--i: 2"><b>2</b></span>
        <span style="--i: 3"><b>3</b></span>
        <span style="--i: 4"><b>4</b></span>
        <span style="--i: 5"><b>5</b></span>
        <span style="--i: 6"><b>6</b></span>
        <span style="--i: 7"><b>7</b></span>
        <span style="--i: 8"><b>8</b></span>
        <span style="--i: 9"><b>9</b></span>
        <span style="--i: 10"><b>10</b></span>
        <span style="--i: 11"><b>11</b></span>
        <span style="--i: 12"><b>12</b></span>
      </div>
      <!-- digital clock -->
      <div id="time">
          <div id="hour" style="--clr: #ff2972;">00</div>
          <div id="minutes" style="--clr: #fee800;">00</div>
          <div id="seconds" style="--clr: #04fc43;">00</div>
          <div id="ampm">AM</div>
      </div>
    </div>


    <script>
      let hr = document.getElementById("hr");
      let mn = document.getElementById("mn");
      let sc = document.getElementById("sc");

      setInterval(() => {
        let day = new Date();
        let hh = day.getHours() * 30;
        let mm = day.getMinutes() * 6;
        let ss = day.getSeconds() * 6;
        hr.style.transform = `rotateZ(${hh + mm / 12}deg)`;
        mn.style.transform = `rotateZ(${mm}deg)`;
        sc.style.transform = `rotateZ(${ss}deg)`;

        let hours = document.getElementById("hour");
        let minutes = document.getElementById("minutes");
        let seconds = document.getElementById("seconds");
        let ampm = document.getElementById("ampm");

        let h = new Date().getHours();
        let m = new Date().getMinutes();
        let s = new Date().getSeconds();

        let am = h >= 12 ? "PM" : "AM";
        if (h > 12) {
            h = h -12;
        }

        hours.innerHTML = (h < 10) ? "0" + h : h;
        minutes.innerHTML = (m < 10) ? "0" + m : m;
        seconds.innerHTML = (s < 10) ? "0" + s : s;
        ampm.innerHTML = am;
      });
    </script>
  </body>
</html>
